package 常用类.Array类.map.map课后练习;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

public class Exercise1 {
    public static void main(String[] args) {
        /*
        1. 已知字符串“adhflkalkfdhasdkhflsa”
        （1）统计去掉重复后的字符
        （2）统计每个字符出现的次数，使用map存储，字符为键，次数为值。
        （3）遍历map，打印统计信息编码实现。
         */
        String str="adhflkalkfdhasdkhflsa";
        //（1）统计去掉重复后的字符
        //使用set集合存储每个字符
        Set<Character> set=new HashSet<>();
        for (char c : str.toCharArray()){
            set.add(c);
        }
        //遍历Set集合，将集合中的内容存入到字符串中
        StringBuilder sb=new StringBuilder();
        for (char c:set){
            sb.append(c);
        }
        String str1=sb.toString();
        System.out.println(str1);//str1为不重复的字符串

        //（2）统计每个字符出现的次数，使用map存储，字符为键，次数为值。
        Map<Character,Integer> map=new HashMap<>();
        for (char c:str1.toCharArray()){
            int count=0;
            for (char c1:str.toCharArray()){
                if (c==c1){
                    count++;
                }
            }
            //将字符c与count两个变量存放到Map集合中
            map.put(c,count);
        }
        //遍历Map集合
        for (Map.Entry<Character,Integer> entry:map.entrySet()){
            System.out.println(entry.getKey()+":"+entry.getValue());
        }
    }
}
